/* ******************************************************************************* * * * COPYRIGHT: * * (C) Copyright International Business Machines Corporation, 1999 * * Licensed Material - Program-Property of IBM - All Rights Reserved. * * US Government Users Restricted Rights - Use, duplication, or disclosure * * restricted by GSA ADP Schedule Contract with IBM Corp. * * * ******************************************************************************* * file name: ubidi.h * encoding: US-ASCII * tab size: 8 (not used) * indentation:4 * * created on: 1999jul27 * created by: Markus W. Scherer */ #ifndef UBIDI_H #define UBIDI_H #include "utypes.h" #include "uchar.h" /* * javadoc-style comments are intended to be transformed into HTML * using DOC++ - see * http://www.zib.de/Visual/software/doc++/index.html . * * The HTML documentation is created with * doc++ -H ubidi.h * * The following #define trick allows us to do it all in one file * and still be able to compile it. */ #define DOCXX_TAG #define BIDI_SAMPLE_CODE /** * @name BiDi algorithm for ICU * *

BiDi algorithm for ICU

* * This is an implementation of the Unicode Bidirectional algorithm. * The algorithm is defined in the * Unicode Technical Report 9, * version 5, also described in The Unicode Standard, Version 3.0 .

* *

General remarks about the API:

* * In functions with an error code parameter, * the pErrorCode pointer must be valid * and the value that it points to must not indicate a failure before * the function call. Otherwise, the function returns immediately. * After the function call, the value indicates success or failure.

* * The limit of a sequence of characters is the position just after their * last character, i.e., one more than that position.

* * Some of the API functions provide access to runs. * Such a run is defined as a sequence of characters * that are at the same embedding level * after performing the BiDi algorithm.

* * @author Markus W. Scherer * @version 1.0 */ DOCXX_TAG /*@{*/ /** * UBiDiLevel is the type of the level values in this * BiDi implementation. * It holds an embedding level and indicates the visual direction * by its bit 0 (even/odd value).

* * It can also hold non-level values for the * paraLevel and embeddingLevels * arguments of ubidi_setPara(); there: *